package com.itheima.admin.controller;

import com.baomidou.mybatisplus.extension.service.IService;
import com.itheima.admin.dto.ChannelPageRequestDto;
import com.itheima.admin.pojo.AdChannel;
import com.itheima.admin.service.AdChannelService;
import com.itheima.common.enums.HttpCodeEnum;
import com.itheima.common.vo.PageResultVo;
import com.itheima.common.vo.ResultVo;
import com.itheima.core.controller.AbstractCoreController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;


@RestController
@RequestMapping("/channel")
//@Api(tags = "频道管理")
@Api(value="AdChannelController",tags = "频道管理")
public class AdChannelController extends AbstractCoreController<AdChannel> {
//    @Autowired
//    private AdChannelService adChannelService;
    private AdChannelService adChannelService;

//    @Autowired
    //这里构造方法会被自动注入
    public AdChannelController(AdChannelService adChannelService) {
        super(adChannelService);
        //验证是否注入
        this.adChannelService = adChannelService;
    }

    @ApiOperation("分页查询")
    @PostMapping("/list")
    public PageResultVo<AdChannel> findPage(@RequestBody ChannelPageRequestDto dto){
        PageResultVo<AdChannel> pageResultVo =adChannelService.findpage(dto);
        return pageResultVo;
    }
//    /**
//     * 新增频道
//     * @param adChannel
//     * @return
//     */
//    @ApiOperation("新增频道")
//    @PostMapping("/save")
//    public ResultVo<AdChannel> save(@RequestBody AdChannel adChannel){
//        if (adChannelService.save(adChannel)) {
//            return ResultVo.ok();
//        }
//        return ResultVo.error();
//    }
//    /**
//     * 通过id查询
//     * @param id
//     * @return
//     */
//    @ApiOperation("通过id查询")
//    @GetMapping("/{id}")
//    public ResultVo<AdChannel> findById(@PathVariable(name = "id") Long id){
//        AdChannel adChannel = adChannelService.getById(id);
//        return ResultVo.ok(adChannel);
//    }
//
//    /**
//     * 更新频道
//     * @param adChannel
//     * @return
//     */
//    @ApiOperation("更新频道")
//    @PostMapping("/update")
//    public ResultVo<AdChannel> updateById(@RequestBody AdChannel adChannel){
//        //主键参数校验
//        if(null == adChannel.getId()){
//            return ResultVo.error(HttpCodeEnum.SERVER_ERROR);
//        }
//        //更新数据
//        boolean success = adChannelService.updateById(adChannel);
//        if (success) {
//            return ResultVo.ok();
//        }
//        return ResultVo.error();
//    }
//    /**
//     * 通过id删除
//     * @param id
//     * @return
//     */
//    @ApiOperation("通过id删除")
//    @DeleteMapping("/del/{id}")
//    public ResultVo<AdChannel> deleteById(@PathVariable(name = "id") Long id){
//        if (adChannelService.removeById(id)) {
//            return ResultVo.ok();
//        }
//        return ResultVo.error();
//    }
}
